热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

系数|多样性_基向量非基向量基解(基本解)可行解基本可行解最优解

篇首语:本文由编程笔记#小编为大家整理,主要介绍了基向量非基向量基解(基本解)可行解基本可行解最优解相关的知识,希望对你有一定的参考价值。昨天查了不能说一晚上吧ÿ

篇首语:本文由编程笔记#小编为大家整理,主要介绍了基向量非基向量基解(基本解)可行解基本可行解最优解相关的知识,希望对你有一定的参考价值。


昨天查了不能说一晚上吧,也差不多,不知道是问题太简单了还是没有多少能说清楚的,但至少网上的回答令我大失所望,让我云里雾里的,完全迷惑了这些名词到底是个啥,如何清楚的理解它们。

幸好之前搞了一本清华大学出版社出版的《运筹学基础》,晚上泡脚的时候终于搞明白了这些概念。为让跟我一样困惑的初学者们能清楚的理解它们的含义,故此记录。


文章目录


        • 可行解
        • 基向量和非基向量
        • 基变量、非基变量、基解
        • 基本可行解
        • 图解





首先我们先列出线性规划的数学模型,通过该模型来一一说明每个概念的含义。











m


a


x


Z


=



c


x







(1)





max Z= \\bf cx \\tag 1


maxZ=cx(1)










s


.


t


.
   


A


x


=


b







(2)





s.t.\\, \\, \\, \\bf Ax=b \\tag 2


s.t.Ax=b(2)










x





0






(3)





\\bf x≥0 \\tag 3


x0(3)
其中,





A



\\bf A


A






m





n



m*n


mn
的矩阵(系数矩阵),





r


(


A


)


=


m



r(A)=m


r(A)=m
表示线性规划模型的秩,且





n


>


m



n>m


n>m



注:这说明方程个数=r

可行解

凡是满足约束条件(2)和(3)的解




x


=



[







x


1










x


2






















x


n







]




\\bf x=\\begin bmatrix x_1 \\\\x_2 \\\\ \\vdots\\\\ x_n\\end bmatrix


x=x1x2xn
称为线性规划问题的可行解,同时满足目标函数(1)的可行解成为最优解


基向量和非基向量

设线性规划约束方程组中的系数矩阵




A



\\bf A


A
的秩为




m


(


n


>


m


)



m(n>m)


m(n>m)
,则




A



\\bf A


A
任一个




m



\\bf m


m
阶可逆矩阵




B



\\bf B


B
称为线性规划问题的一个基矩阵,简称基。记




B


=


(



p


1



,



p


2



,





,



p


m



)



\\bf B=( p_1, p_2,\\cdots,p_m)


B=(p1,p2,,pm)
,则称





p


j



(


j


=


1


,


2


,





,


m


)



p_j(j=1,2,\\cdots,m)


pj(j=1,2,,m)





B



\\bf B


B
的一个基向量,而




A



\\bf A


A
中剩余




n





m



n-m


nm
个列向量称为非基向量。

何为任一?
也就是说




B



\\bf B


B
是矩阵




A



\\bf A


A
中任一m列组成的矩阵,那么




B



\\bf B


B
可以表示为(假设矩阵




A



\\bf A


A
有四列,




r


=


2



r=2


r=2
):





B


=


(



p


1



,



p


2



)


o


r


B


=


(



p


1



,



p


3



)


o


r


B


=


(



p


1



,



p


4



)


o


r


B


=


(



p


2



,



p


3



)


o


r


B


=


(



p


2



,



p


4



)


o


r


B


=


(



p


3



,



p


4



)



\\bf B=(p_1,p_2) or B=(p_1,p_3) or B=(p_1,p_4) or B=(p_2,p_3) or B=(p_2,p_4) or B=(p_3,p_4)


B=(p1,p2)orB=(p1,p3)orB=(p1,p4)orB=(p2,p3)orB=(p2,p4)orB=(p3,p4)
, 只要




B



\\bf B


B
可逆,即







B








0



\\bf |B|≠0


B=0
, 则就有基本解,也就是后边提到的线性规划最多有基本解的个数为




C




n


m




C^m_n


Cnm


基变量、非基变量、基解






A



\\bf A


A
中一个基




B


=


(



p


1



,



p


2



,





,



p


m



)



\\bf B=(p_1,p_2,\\cdots,p_m)


B=(p1,p2,,pm)
, 对应的基变量为





x


1



,



x


2



,





,



x


m




\\bf x_1,x_2,\\cdots,x_m


x1,x2,,xm
, 则





x



m


+


1




,



x



m


+


2




,





,



x


n




\\bf x_m+1,x_m+2,\\cdots,x_n


xm+1,xm+2,,xn
为非基变量,当非基变量取值均为零时且满足约束(2)的一个解




x



x


x
称为关于基




B



\\bf B


B
的一个基本解,线性规划问题最多只有




C




n


m




C^m_n


Cnm
个基本解


基本可行解

若一个基本解




x



x


x
同时满足非负约束条件(3),则称




x



x


x
为基本可行解。


图解

其实,这些概念的大小关系可以通过一张图完美的解释,上图

从图中我们可以得出这样的一些结论(自己理解):


  1. 可行解或者基本解是针对约束而言的,最优解是针对约束和目标函数而言的;
  2. 基本可行解是可行解的一个特解;
  3. 基本解中存在非可行性解,换句话说非可行解最多只满足约束中的一个,而不能同时满足两个约束,也存在非可行解满足目标函数,但不完全满足约束的情况

第三条或许就是为什么很多多目标EA对比分析feasible solutions 和infeasible solutions的原因了。但在例如NSGA中 infeasible solution与feasible solution是在constraint中提到的,感觉是为了保证多样性,即使两个均为infeasible solution,还是选择了smaller constraint violation的那个解,让其拥有better Pareto Rank。

疑问:是不是所谓的最优解中存在infeasible solutions呢?(🐶)


推荐阅读
  • 本文深入探讨了面向切面编程(AOP)的概念及其在Spring框架中的应用。通过详细解释AOP的核心术语和实现机制,帮助读者理解如何利用AOP提高代码的可维护性和开发效率。 ... [详细]
  • 本文详细介绍了在不同操作系统中查找和设置网卡的方法,涵盖了Windows系统的具体步骤,并提供了关于网卡位置、无线网络设置及常见问题的解答。 ... [详细]
  • Linux环境下C语言实现定时向文件写入当前时间
    本文介绍如何在Linux系统中使用C语言编程,实现在每秒钟向指定文件中写入当前时间戳。通过此示例,读者可以了解基本的文件操作、时间处理以及循环控制。 ... [详细]
  • 探讨如何修复Visual Studio Code中JavaScript的智能感知和自动完成功能在特定场景下无法正常工作的问题,包括配置检查、语言模式选择以及类型注释的使用。 ... [详细]
  • 在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ... [详细]
  • 深入解析Spring启动过程
    本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
  • 在尝试使用C# Windows Forms客户端通过SignalR连接到ASP.NET服务器时,遇到了内部服务器错误(500)。本文将详细探讨问题的原因及解决方案。 ... [详细]
  • SDN网络拓扑发现机制解析
    本文深入探讨了SDN(软件定义网络)中拓扑发现的原理与实现方法,重点介绍了LLDP协议在OpenFlow环境中的应用,并讨论了非OpenFlow设备存在时的链路发现策略。 ... [详细]
  • 本文介绍了如何在React和React Native项目中使用JavaScript进行日期格式化,提供了获取近7天、近半年及近一年日期的具体实现方法。 ... [详细]
  • 探讨ChatGPT在法律和版权方面的潜在风险及影响,分析其作为内容创造工具的合法性和合规性。 ... [详细]
  • 本题要求在一组数中反复取出两个数相加,并将结果放回数组中,最终求出最小的总加法代价。这是一个经典的哈夫曼编码问题,利用贪心算法可以有效地解决。 ... [详细]
  • 使用JS、HTML5和C3创建自定义弹出窗口
    本文介绍如何结合JavaScript、HTML5和C3.js来实现一个功能丰富的自定义弹出窗口。通过具体的代码示例,详细讲解了实现过程中的关键步骤和技术要点。 ... [详细]
  • 本文介绍了如何在PHP Magento模型中自定义主键,避免使用默认的自动递增主键,并提供了解决方案和代码示例。 ... [详细]
  • 由中科院自动化所、中科院大学及南昌大学联合研究提出了一种新颖的双路径生成对抗网络(TP-GAN),该技术能通过单一侧面照片生成逼真的正面人脸图像,显著提升了不同姿态下的人脸识别效果。 ... [详细]
  • 软件工程课堂测试2
    要做一个简单的保存网页界面,首先用jsp写出保存界面,本次界面比较简单,首先是三个提示语,后面是三个输入框,然 ... [详细]
author-avatar
凯鹏2502896277
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有